|
|
Main menu for Browse IS/STAG
Course info
KIV / VSS-E
:
Course description
Department/Unit / Abbreviation
|
KIV
/
VSS-E
|
Academic Year
|
2023/2024
|
Academic Year
|
2023/2024
|
Title
|
Soft. Syst. Reliability and Performance
|
Form of course completion
|
Exam
|
Form of course completion
|
Exam
|
Long Title
|
Software Systems Reliability and Performance
|
Accredited / Credits
|
Yes,
6
Cred.
|
Type of completion
|
Combined
|
Type of completion
|
Combined
|
Time requirements
|
Lecture
3
[Hours/Week]
Tutorial
2
[Hours/Week]
|
Course credit prior to examination
|
Yes
|
Course credit prior to examination
|
Yes
|
Automatic acceptance of credit before examination
|
No
|
Included in study average
|
YES
|
Language of instruction
|
English
|
Occ/max
|
|
|
|
Automatic acceptance of credit before examination
|
No
|
Summer semester
|
0 / -
|
0 / -
|
0 / -
|
Included in study average
|
YES
|
Winter semester
|
0 / -
|
0 / -
|
1 / 5
|
Repeated registration
|
NO
|
Repeated registration
|
NO
|
Timetable
|
Yes
|
Semester taught
|
Winter semester
|
Semester taught
|
Winter semester
|
Minimum (B + C) students
|
10
|
Optional course |
Yes
|
Optional course
|
Yes
|
Language of instruction
|
English
|
Internship duration
|
0
|
No. of hours of on-premise lessons |
|
Evaluation scale |
1|2|3|4 |
Periodicity |
každý rok
|
Evaluation scale for credit before examination |
S|N |
Periodicita upřesnění |
|
Fundamental theoretical course |
No
|
Fundamental course |
No
|
Fundamental theoretical course |
No
|
Evaluation scale |
1|2|3|4 |
Evaluation scale for credit before examination |
S|N |
Substituted course
|
None
|
Preclusive courses
|
KIV/VSS
|
Prerequisite courses
|
N/A
|
Informally recommended courses
|
N/A
|
Courses depending on this Course
|
KIV/SA
|
Histogram of students' grades over the years:
Graphic PNG
,
XLS
|
Course objectives:
|
This course is focused on basic concepts of simulation and modelling of software systems and testing of system reliability, performance and availability. During the course, students will get information about principles of simulation theory, the tools for monitoring software execution and methods of processing and presentation of measured results.
|
Requirements on student
|
Writing out 5 examples and hand in them in announced dates, independent development of semestral work. Finishing of a written exam.
Notice:
The dates and form of verification of compliance with the requirements may be adjusted with regard to the measures announced in connection with the development of the epidemiological situation in the Czech Republic.
|
Content
|
1. Introduction. Purpose of modelling and performance and reliability testing, basic terms (mistake, error, failure, availability, performance, safety, security, reliability).
2. Systems modelling. Queuing networks, Markov chain, temporal logic.
3. Basic reliability models (redundant systems). Random number generators.
4. Basics of software simulations. Basic techniques, calendar, discrete event simulation, time and events in the simulation, design and parameterization of the simulation model.
5. Using of simulation for modelling queuing networks and other systems, simulation of the multithreading applications, system environment simulation.
6. Fundaments of the performance measuring, for use in both simulation and real system. Kinds and examples of metrics. Ensuring of test repeatability.
7. Best practices for creating of reliable software ? availability levels, basic methods for ensuring reliability, runtime error processing, using of reliability modelling. Standards and architectures for reliable software systems (AUTOSAR, MARTE, ISO 50128 and similar).
8. Benchmarking, performance testing of real HW and SW, preparation of workload, workload clustering.
9. Debugging. Using of debugger and profiler for error detection, error isolation, supervising of application run. Using of the record of application execution for simulation models.
10. Result analysis and presentation. Statistics, result visualization, risks for result interpretation.
11. Static SW analysis ? existing tools and methods (Spin model checker, Java PathFinder and similar), their suitability, using and limitations in specific situations.
12. Dynamic SW analysis ? existing tools and methods (Gcov, Glassbox, Cobertura and similar), their suitability, using and limitations in specific situations.
|
Activities
|
|
Fields of study
|
|
Guarantors and lecturers
|
|
Literature
|
-
Recommended:
Hlavička, Jan. Architektura počítačů. Praha : ČVUT, 1994.
-
Recommended:
Hamlet, Dick. Composing Software Components: A Software-testing Perspective. Springer, 2010. ISBN 978-1441971470.
-
Recommended:
Hlavička, Jan. Číslicové systémy odolné proti poruchám. Vyd. 1. Praha : ČVUT, 1992. ISBN 80-01-00852-5.
-
Recommended:
Lyu, Michael R. Handbook of Software Reliability Engineering. Mcgraw-Hill, 1996. ISBN 978-0070394001.
-
Recommended:
Bernardi, Simona; Merseguer, José; Petriu, Dorina C. Model-driven dependability assessment of software systems. Heidelberg : Springer, 2013. ISBN 978-3-642-39511-6.
-
Recommended:
Racek, Stanislav; Roubín, Miroslav. Pravděpodobnostní modely počítačů. 1. vyd. Plzeň : ZČU, 1996. ISBN 80-7082-300-3.
-
On-line library catalogues
|
Time requirements
|
All forms of study
|
Activities
|
Time requirements for activity [h]
|
Preparation for laboratory testing; outcome analysis (1-8)
|
6
|
Graduate study programme term essay (40-50)
|
50
|
Preparation for an examination (30-60)
|
40
|
Contact hours
|
60
|
Total
|
156
|
|
Prerequisites
|
Knowledge - students are expected to possess the following knowledge before the course commences to finish it successfully: |
to understand basic architecture of the computer systems |
to understand basic concepts of the mathematical analysis |
to understand basic issues of parallel programing and the means of their solution |
to understand basic issues of the network communication and remote request processing |
to understand means of description of the computer systems |
Skills - students are expected to possess the following skills before the course commences to finish it successfully: |
to perform object oriented design and decomposition of the problem |
to search independently in electronic resources, such as IEEExplore |
to use object oriented programing and suitable development tools |
to work with the basic methods of statistics and probability, including the tools for the calculation |
Competences - students are expected to possess the following competences before the course commences to finish it successfully: |
N/A |
|
Learning outcomes
|
Knowledge - knowledge resulting from the course: |
to know how to interpret the benchmark experiment results |
to understand basic means of static and dynamic analysis of the software reliability |
to understand how analytical and simulation of Markov systems works |
to understand methods of design of analytical models of queuing systems |
to understand methods of design of reliability models |
to understand properties and limitations of simulation and analytical models |
to understand properties and limitations of the (pseudo)random number generators |
to explain and illustrate means of analysis, design and implementation of the reliable software systems working with large data, composed of many different components |
Skills - skills resulting from the course: |
to design and create an experiment to measure characteristics of the system under load |
to design and create analytical model of the tested system, interpret the calculated characteristics |
to design and create benchmark experiment, measure the desired characteristics of the tested system. |
to implement some types of the simulation models (discrete event simulations, simulations with the regular time step, cellular automatons) and analyse the obtain results |
to present thoroughly results of measurements in simulation or on the real system |
Competences - competences resulting from the course: |
N/A |
to evaluate reliability and performance properties of the tested software, based on the static analysis or dynamic testing |
|
Assessment methods
|
Knowledge - knowledge achieved by taking this course are verified by the following means: |
Combined exam |
Seminar work |
Skills - skills achieved by taking this course are verified by the following means: |
Skills demonstration during practicum |
Competences - competence achieved by taking this course are verified by the following means: |
Combined exam |
|
Teaching methods
|
Knowledge - the following training methods are used to achieve the required knowledge: |
Lecture |
Lecture supplemented with a discussion |
Lecture with visual aids |
Practicum |
Self-study of literature |
Skills - the following training methods are used to achieve the required skills: |
Individual study |
Self-study of literature |
Skills demonstration |
Task-based study method |
Competences - the following training methods are used to achieve the required competences: |
Lecture with visual aids |
|
|
|
|